import { LivenessType } from '@/enums/constEnums'

/**
 * @description 获取产品活跃度-留存率数据
 */
export interface RetentionDataList {
  date: string
  type: LivenessType
  newUserCount: number //当天新增用户数。
  day1RetainedUserCount: number //次日留存用户数
  day1RetentionRate: number //次日留存率
  day3RetainedUserCount: number // 3日留存用户数
  day3RetentionRate: number // 3日留存率
  day7RetainedUserCount: number // 7日留存用户数
  day7RetentionRate: number // 7日留存率
  day14RetainedUserCount: number // 14日留存用户数
  day14RetentionRate: number // 14日留存率
  day30RetainedUserCount: number // 30日留存用户数
  day30RetentionRate: number // 30日留存率
}

/**
 * @description 获取产品活跃度-活跃度数据
 */
export interface ActiveDataList {
  date: string
  type: LivenessType
  newUserCount: number //当天新增用户数。
  day1ActiveUserCount: number //次日活跃用户数
  day1ActiveRate: number //次日活跃率
  day3ActiveUserCount: number // 3日活跃用户数
  day3ActiveRate: number // 3日活跃率
  day7ActiveUserCount: number // 7日活跃用户数
  day7ActiveRate: number // 7日活跃率
  day14ActiveUserCount: number // 14日活跃用户数
  day14ActiveRate: number // 14日活跃率
  day30ActiveUserCount: number // 30日活跃用户数
  day30ActiveRate: number // 30日活跃率
}

/**
 * @description 获取产品活跃度-留存率和活跃度数据
 */
export interface LivenessDataList extends RetentionDataList, ActiveDataList {}
